SView for Windos Control为OCX控件提供三维模型基本的浏览、模型属性操作、基本三维对象操作、动画播放等功能的实现接口,可实现基本的 三维模型展示功能,以便于用户个性化定制属于自己的产品。文档主要介绍了OCX控件提供的接口说明。SView for Windows Control控件集成说明的介绍请查看SView for Windows Control 集成说明文档
功能模块 类型 接口 描述 备注
界面 方法 void ShowPanel(BSTR showPanel , VARIANT_BOOL showPorperty) 面板显隐
方法 VARIANT_BOOL ShowToolbar(BSTR toolbarName, VARIANT_BOOL visible) 工具栏显隐
方法 VARIANT_BOOL DoActions(SHORT viewID, BSTR actions) 执行原子操作
方法 VARIANT_BOOL DoCommand(SHORT viewID, BSTR commandJson) 执行命令
方法 void FullScreen(VARIANT_BOOL isFullScreen) 全屏
配置 方法 void SetParameters(BSTR configJson) 设置多个SView配置
方法 BSTR GetParameters() 获取多个SView配置
方法 void SetViewParameters(SHORT viewID, BSTR paramJson) 设置多个view配置
方法 void SetViewParameter(SHORT viewID, BSTR name, BSTR value) 设置单个view配置
文件 方法 void Open(SHORT viewID,BSTR fileUris) 打开文件或网页路径
方法 void Close(SHORT viewID) 关闭模型
基本浏览 方法 void RefreshWindow(SHORT viewID) 刷新视口
void SetPerspective(SHORT viewID,SHORT viewType) 设置基本视图
void SetOrbitMode(SHORT viewID, SHORT modelType) 设置观察模式
void RestoreView(SHORT viewID) 复位视口,复位整个场景,回到初始化完成状态
void Restore(SHORT viewID, BSTR shapeIDs, SHORT type) 复位模型,根据参数决定复位哪个属性
void Focus(SHORT viewID, BSTR svlPath) 聚焦显示
void SetWheelDirection(SHORT viewID, SHORT direction) 滚轮方向
void SetUpDirection(SHORT viewID, SHORT axis) 向上方向
void TakeScreenPicture(BSTR savePath) 快照
选择 方法 VARIANT_BOOL IsHighlight(SHORT viewID, BSTR svlPath) 是否高亮
方法 void Highlight(SHORT viewID, BSTR shapeID,VARIANT_BOOL highlight) 设置高亮
方法 BSTR GetSelectedModels(SHORT viewID) 获取选中的模型
方法 void DeselectModels(SHORT viewID, BSTR modelIDs) 取消选中模型
方法 void SelectShapes(SHORT viewID, BSTR shapeIDs, SHORT type) 选中对象
方法 BSTR GetSelectedShapes(SHORT viewID, SHORT type) 获取选中的对象
方法 void DeselectShapes(SHORT viewID, BSTR shapeIDs, SHORT type) 取消选中对象
模型 方法 BSTR GetModelName(SHORT viewID, BSTR svlPath) 获取模型名称
方法 void SetModelName(SHORT viewID, BSTR modelID, BSTR name) 重命名模型  
方法 BSTR GetModelSubModels(SHORT viewID, BSTR address) 获取所有子模型  
方法 BSTR GetModelParent(SHORT viewID, BSTR address) 获取父Model  
方法 VARIANT_BOOL IsModelAssembly(SHORT viewID, BSTR modelID) 是否为装配件  
方法 BSTR GetModelWorldPosition(SHORT viewID, BSTR modelID) 获取模型位置  
方法 void SetModelWorldPosition(SHORT viewID, BSTR modelID, BSTR pos) 设置模型位置  
方法 void SetModelVisible(SHORT viewID, BSTR modelID, VARIANT_BOOL visible) 显示或隐藏模型  
方法 void RestoreModel(SHORT viewID, BSTR modelPath) 复位模型  
方法 void FocusModel(BSTR svlPath) 设置模型居中显示  
模型属性 方法 BSTR GetModelProperties(SHORT viewID, BSTR modelID) 获取模型所有自定义属性  
方法 void SetModelProperties(SHORT viewID, BSTR modelPath,BSTR propertiesStr) 设置模型所有自定义属性  
方法 BSTR GetModelProperty(SHORT viewID, BSTR modelID, BSTR name) 获取模型单个自定义属性  
方法 void SetModelProperty(SHORT viewID, BSTR svlPath, BSTR name, BSTR value) 设置模型单个自定义属性  
方法 VARIANT_BOOL RemoveModelProperty(SHORT viewID, BSTR modelPath, BSTR propertyName) 删除模型单个自定义属性  
视图 方法 BSTR GetModelViews(SHORT viewID) 获取视图列表  
方法 BSTR ToModelViewJson(SHORT viewID, BSTR modelViewID) 保存视图为Json串  
方法 BSTR FromModelViewJson(SHORT viewID, BSTR jsonStr) 从Json串添加视图  
方法 SHORT CreateModelView(SHORT viewID, SHORT type) 添加自定义视图  
方法 VARIANT_BOOL RemoveModelView(SHORT viewID, SHORT measureShapeID) 删除视图  
方法 SHORT GetCurrentModelView(SHORT viewID) 获取当前视图  
方法 void ShowModelView(SHORT viewID, SHORT modelViewID, VARIANT_BOOL bAnimationPlay) 显示视图  
方法 SHORT GetDefaultModelView(SHORT viewID) 获取默认视图  
方法 void SetDefaultModelView(SHORT viewID, SHORT modelViewID) 设置默认视图  
方法 BSTR GetModelViewPMIs(SHORT viewID, SHORT modelViewID) 获取视图关联的PMI  
方法 BSTR GetModelViewNotes(SHORT viewID, SHORT modelViewID) 获取视图关联的批注  
方法 BSTR GetModelViewModels(SHORT viewID, SHORT modelViewID) 获取视图关联的模型  
方法 BSTR GetModelViewClips(SHORT viewID, SHORT modelViewID) 获取视图关联的剖切  
PMI 方法 BSTR GetModelAllPMIs(SHORT viewID, BSTR modelPath) 获取模型PMI列表  
批注 方法 BSTR FromNoteJson(BSTR jsonStr) 反序列化批注
方法 BSTR ToNoteJson(BSTR noteIDs) 序列化批注  
方法 BSTR GetModelAllNotes(SHORT viewID, BSTR modelPath) 获取所有批注  
方法 void RemoveNote(SHORT viewID, BSTR noteIDs) 删除批注  
热点 方法 BSTR CreateHotSpot(SHORT viewID, BSTR locationX, BSTR locationY, BSTR name) 创建热点  
方法 void SetHotSpotImage(SHORT viewID, BSTR hotSpotId, BSTR imagePath) 设置热点图片  
方法 void ToHotSpotJson(SHORT viewID, BSTR hotSpotId) 反序列化热点  
方法 VARIANT_BOOL RemoveHotSpot(SHORT viewID, BSTR hotSpotId) 热点删除  
测量 方法 VARIANT_BOOL RemoveMeasure(SHORT viewID, BSTR measureShapeID) 删除距离  
方法 BSTR ToMeasureJson(BSTR measureIDs) 反序列化测量对象  
方法 void FromMeasureJson(BSTR jsonStr) 序列化测量对象  
剖切 方法 void Clip(SHORT viewID, BSTR paramJson) 剖切  
方法 void MultiClip(SHORT viewID, BSTR paramJson) 多剖切  
方法 void CancelClip(SHORT viewID) 关闭剖切  
执行爆炸 方法 void Explosive(SHORT viewID, BSTR explosiveParamJson) 浏览爆炸图,调节爆炸间距  
方法 void CancelExplosive(SHORT viewID) 关闭爆炸  
动画 方法 void Restore(SHORT viewID, BSTR shapeIDs, SHORT type) 模型恢复初始位置  
方法 void PlayAnimation(SHORT viewID) 播放某一步骤  
方法 void PauseAnimation(SHORT viewID) 暂停动画  
方法 void ContinueAnimation(SHORT viewID) 继续播放动画  
方法 void SetAnimationParameter(SHORT viewID, BSTR type, BSTR isLoop) 是否重复播放动画  
方法 void SetAnimationParameter(SHORT viewID, BSTR type, BSTR isLoop) 设置播放速度  
方法 VARIANT_BOOL OpenAnimation(SHORT viewID, BSTR animationFilePath) 打开动画文件
方法 void CloseAnimation(SHORT viewID) 关闭动画  
方法 void RewindAnimation(SHORT viewID) 倒带  
方法 VARIANT_BOOL IsPlayingAnimation(SHORT viewID) 是否正在播放  
方法 VARIANT_BOOL ExistAnimation(SHORT viewID) 是否有动画
漫游命令 方法 VARIANT_BOOL SetWalkThroughParameters(SHORT viewID,BSTR json) 设置漫游参数
方法 BSTR GetWalkThroughParameters(SHORT viewID) 获取漫游参数  
方法 void CancelWalkThrough(SHORT viewID) 关闭漫游  
形状对象 方法 SVARIANT_BOOL GetVisible(SHORT viewID, BSTR shapeID, SHORT shapeType) 获取显隐状态
方法 void SetVisible(SHORT viewID, BSTR shapeID, SHORT shapeType, VARIANT_BOOL visible) 设置显隐状态  
方法 BSTR GetColor(SHORT viewID, BSTR shapeID, SHORT shapeType) 获取对象颜色  
方法 void SetColor(SHORT viewID, BSTR shapeIDs, SHORT shapeType, BSTR color) 设置对象颜色  
模型渲染 方法 FLOAT GetAlpha(SHORT viewID, BSTR shapeIDs) 获取模型透明度
方法 void SetAlpha(SHORT viewID, BSTR shapeID, FLOAT alpha) 设置模型透明度  
方法 void SetModelColor(SHORT viewID,BSTR shapeID, BSTR colorStr) 设置模型颜色  
方法 void RestoreColor(SHORT viewID,BSTR svlPath, SHORT type) 选中模型恢复初始颜色  
渲染相机 方法 BSTR GetCameraStates(SHORT viewID, SHORT cameraID) 获取相机状态值
方法 void SetCameraStates(SHORT viewID, SHORT camaraID, BSTR states) 设置摄像机状态值  
渲染背景 方法 void SetBackgroundColor(SHORT viewID, BSTR topColor, BSTR bottomColor) 设置背景颜色
事件 事件 OnRightMouseDownEvent(locationX,locationY) 鼠标右键点击事件
事件 OnRestoreViewEvent(restoreViewInfo) 模型复原事件
事件 OnModelSelectedChanged(svlPath,isSelected) 模型选中事件
事件 OnModelPreSelectChanged(svlPath,isSelected) 模型预选事件
事件 OnLoaded(loadInfo) 控件加载完成事件
事件 OnFileLoadEndEvent(fileLoadInfo) 模型加载完成事件
事件 OnLeftMouseDownEvent(locationX,locationY) 鼠标左键点击事件
方法 void SetMoseHover(VARIANT_BOOL isHover) 鼠标悬停事件开关  
方法 void OnMouseHoverEvent(LPCTSTR locationX,LPCTSTR locationY) 鼠标悬停事件  
面板显隐
方法
void ShowPanel(BSTR showPanel , VARIANT_BOOL showPorperty)
说明
面板显隐
参数
参数 是否必须 说明
showPanel 面板名称
showPorperty 是否显示,True/False
返回值
bool 显隐成功/失败
备注
面板名称 参数
装配 AssemblyPanel
视图 ViewPanel
属性 PropertyPanel
图层 LayerPanel
工具栏显隐
方法
VARIANT_BOOL ShowToolbar(BSTR toolbarName, VARIANT_BOOL visible)
说明
工具栏显隐
参数
参数 是否必须 说明
toolbarName 工具栏名称
visible 是否显示,True/False
返回值
bool 显隐成功/失败
备注
工具栏名称 参数
上部工具栏 TopBar
右侧工具栏 RightBar
底部工具栏 BottomBar
批注工具栏 AnnotationBar
手绘批注工具栏 GestureNoteBar
剖切工具栏 ClipBar
爆炸工具栏 ExplodeBar
测量工具栏 MesuareBar
动画工具栏 AnimateBar
执行操作
方法
VARIANT_BOOL DoActions(SHORT viewID, BSTR actions)
说明
执行操作
参数
参数 是否必须 说明
viewID 是/默认是0 视口ID
actions json见Action定义
返回值
bool 执行操作成功/失败
备注
执行命令
方法
VARIANT_BOOL DoCommand(SHORT viewID, BSTR commandJson)
说明
执行命令
参数
参数 是否必须 说明
viewID 是/默认是0 视口ID
actions json见Command定义
返回值
bool 执行操作成功/失败
备注
全屏
方法
void FullScreen(VARIANT_BOOL isFullScreen)
说明
全屏
参数
参数 是否必须 说明
isFullScreen 是否全屏显示,True/False
返回值
void
备注
设置多个SView配置
方法
void SetParameters(BSTR configJson)
说明
设置多个SView配置
参数
参数 是否必须 说明
configJson 多个参数json字符串
返回值
void
备注
Json格式示例:
{
 "GLES": "2",
 "coordinate": "True",
 "antialiasing": "0",
 "isPlayScene": "True"
}
获取多个SView配置
方法
BSTR GetParameters()
说明
获取多个SView配置
参数
返回值
BSTR 返回多个参数值的json字符串
备注
设置多个View配置
方法
void SetViewParameters(SHORT viewID, BSTR paramJson)
说明
设置多个View配置
参数
参数 是否必须 说明
viewID 是/默认是0 视口ID
paramJson 多个参数json字符串
返回值
void
备注
Json格式示例:
{
 "ShowBox":"True",    //显示包围盒
 "MultiSelect":"True", //多选
 "UpDirection":"0",//模型上方向0=+X;1=-X;2=+Y;3=-Y;4=+Z;5=-Z;
 "AutoSelectRotateCenter":"True" //指定旋转
 "DrawMode":"0",//渲染模式 0着色模式、1半透明模式、3线框模式、4边着色模式、5显示网格、6取消半透明模式、7显示/取消显示包围盒
 "modelSelectedColor":"1,0,0,1"//模型选中颜色
}
设置单个View配置
方法
void SetViewParameter(SHORT viewID, BSTR name, BSTR value)
说明
设置单个View配置
参数
参数 是否必须 说明
viewID 是/默认是0 视口ID
name 参数名,如"ShowBox"
value 参数值,如"True"
返回值
void
备注
打开文件
方法
void Open(SHORT viewID,BSTR fileUris)
说明
打开本地文件/打开网络文件
参数
参数 是否必须 说明
viewID 是,默认是0 视口ID
fileUris 本地文件路径/网络文件路径多个文件用;;分割
返回值
void
备注
本地文件路径示例 D:\\1.svl 打开D盘下的1.svl文件 网络文件示例 http://192.168.75.1:8080/svlfiles/1.svl
关闭模型
方法
void Close(SHORT viewID)
说明
关闭模型
参数
参数 是否必须 说明
viewID 是/默认是0 视口ID
返回值
void
备注
刷新视口
方法
void RefreshWindow(SHORT viewID)
说明
刷新视口
参数
参数 是否必须 说明
viewID 是/默认是0 视口ID
返回值
void
备注
设置基本视图
方法
void SetPerspective(SHORT viewID,SHORT viewType)
说明
设置基本视图
参数
参数 是否必须 说明
viewID 是/默认是0 视口ID
viewType viewType:视图方向
返回值
void
备注
设置基本视图,如正视图、轴侧图等
视图方向:0前视图,1后视图,2左视图,3右视图,4仰视图,5俯视图,6轴测图,7默认视图,8后轴测图
设置观察模式
方法
void SetOrbitMode(SHORT viewID, SHORT modelType)
说明
设置观察模式
参数
参数 是否必须 说明
viewID 是/默认是0 视口ID
viewType modelType:观察类型
返回值
void
备注
设置观察类型
观察类型:0 自由观察, 1 动态观察,2 受约束的动态观察
复位视口
方法
void RestoreView(SHORT viewID)
说明
复位视口
参数
参数 是否必须 说明
viewID 是/默认是0 视口ID
返回值
void
备注
复位视口,复位整个场景,回到初始化完成状态
复位模型
方法
void Restore(SHORT viewID, BSTR shapeIDs, SHORT type)
说明
复位模型
参数
参数 是否必须 说明
viewID 是/默认是0 视口ID
shapeIDs shapes数组,需要复位的对象数组,为空则复位所有对象。
shapeIDs为对象路径。
type 复位的属性类型。0=All,1=transform,2=color,3=visible
返回值
void
备注
复位模型,根据参数决定复位哪个属性
聚焦显示
方法
void Focus(SHORT viewID, BSTR svlPath)
说明
聚焦显示
参数
参数 是否必须 说明
viewID 是/默认是0 视口ID
svlPath 聚焦显示的对象路径
返回值
void
备注
滚轮方向
方法
void SetWheelDirection(SHORT viewID, SHORT direction)
说明
滚轮方向
参数
参数 是否必须 说明
viewID 是/默认是0 视口ID
direction 滚轮方向对应数值。
direction:1,后滚放大;—1,前滚放大。
返回值
void
备注
向上方向
方法
void SetUpDirection(SHORT viewID, SHORT axis)
说明
向上方向
参数
参数 是否必须 说明
viewID 是/默认是0 视口ID
axis 向上方向对应的数值大小。
axis:0 右方向;1 左方向;2 上方向;3 下方向;4 前方向;5 后方向
返回值
void
备注
快照
方法
void TakeScreenPicture(BSTR savePath)
说明
快照
参数
参数 是否必须 说明
savePath 快照保存的本地路径。
返回值
void
备注
方法
VARIANT_BOOL IsHighlight(SHORT viewID, BSTR svlPath)
说明
根据svlPath来获取模型是否高亮;
参数
参数 是否必须 说明
viewID 是/默认是0 视口ID
svlPath 模型唯一标识
返回值
True/False 高亮/不高亮
备注
svlPath 示例"PATH|0|3|2|3",此svlPath只支持单个唯一标识处理;
方法
void Highlight(SHORT viewID, BSTR shapeID,VARIANT_BOOL highlight)
说明
根据shapeID模型标识,highlight是否高亮来设置高亮
参数
参数 是否必须 说明
viewID 视口ID默认为0
shapeID 模型唯一标识(见备注)
highlight 是否高亮显示,True/False高亮/不高亮
返回值
void
备注
shapeID 示例"PATH|0|3|2|3" 如果有多个需要用","分隔开例如:"PATH|0|3|2|3,PATH|0|17|6,PATH|0|2";
方法
BSTR GetSelectedModels(SHORT viewID)
说明
获取当前视口中选中的模型。
参数
参数 是否必须 说明
viewID 视口ID默认为0
返回值
类型:BSTR
描述:返回的模型数组,OCX中为模型id列表的字符串,以英文逗号间隔。
备注
方法
void DeselectModels(SHORT viewID, BSTR modelIDs)
说明
取消选中指定的多个模型。
参数
参数 是否必须 说明
viewID 视口ID默认为0
modelIDs modelIDs:要取消选中的模型数组。为Null则取消选中所有已选模型。
OCX中为对象id列表的字符串,以英文逗号间隔。
返回值
void
备注
方法
void SelectShapes(SHORT viewID, BSTR shapeIDs, SHORT type)
说明
在视口中高亮指定的对象,如果有对应面板,则在面板中选中指定对象。
参数
参数 是否必须 说明
viewID 视口ID默认为0
shapeIDs 指定的对象数组
type 指定的类型,如:0=模型、1=批注、2=测量、3=PMI、4=热点、5=几何等
返回值
void
备注
方法
BSTR GetSelectedShapes(SHORT viewID, SHORT type)
说明
获取当前视口中选中的对象。
参数
参数 是否必须 说明
viewID 视口ID默认为0
type 指定的类型,如:1=批注、2=测量、3=PMI、4=热点、5=几何等
返回值
类型:BSTR
描述:shapes:指定的对象数组,OCX中为对象id列表的字符串,以英文逗号间隔。
备注
方法
void DeselectShapes(SHORT viewID, BSTR shapeIDs, SHORT type)
说明
取消选中对象
参数
参数 是否必须 说明
viewID 视口ID默认为0
shapeIDs shapeIDs:要取消选中的指定的对象数组
type type:指定的类型,如:1=批注、2=测量、3=PMI、4=热点、5=几何等
返回值
void
备注
获取模型名称
方法
BSTR GetModelName(SHORT viewID, BSTR svlPath)
说明
通过svlPath获取模型名称;
参数
参数 是否必须 说明
viewID 视口ID默认为0
svlPath 模型唯一标识
返回值
类型:BSTR
描述:模型名称
备注
svlPath 示例"PATH|0|3|2|3",此svlPath只支持单个唯一标识处理;
重命名模型
方法
void SetModelName(SHORT viewID, BSTR modelID, BSTR name)
说明
重命名模型与设置模型名称相同,同时会更新装配树中的模型名称;
参数
参数 是否必须 说明
viewID 视口ID默认为0
modelID modelID:模型唯一标识
name 重命名模型的名字
返回值
void
备注
modelID 示例"PATH|0|3|2|3",此modelID只支持单个唯一标识处理;
获取所有的子模型
方法
BSTR GetModelSubModels(SHORT viewID, BSTR address)
说明
获取所有子模型;
参数
参数 是否必须 说明
viewID 视口ID默认为0
address address:模型唯一标识
返回值
类型:BSTR
描述:模型唯一标识,路径
备注
address 示例"PATH|0",此address只支持单个唯一标识处理;
获取父Model
方法
BSTR GetModelParent(SHORT viewID, BSTR address)
说明
获取父Model;
参数
参数 是否必须 说明
viewID 视口ID默认为0
address address:模型唯一标识
返回值
类型:BSTR
描述:模型唯一标识,路径
备注
address 示例"PATH|0|3|2|3",此address只支持单个唯一标识处理;
是否为装配件
方法
VARIANT_BOOL IsModelAssembly(SHORT viewID, BSTR modelID)
说明
是否为装配件;
参数
参数 是否必须 说明
viewID 视口ID默认为0
modelID modelID:模型唯一标识
返回值
True/False 是否为装配件
备注
modelID 示例"PATH|0|3|2|3",此modelID只支持单个唯一标识处理;
获取模型位置
方法
BSTR GetModelWorldPosition(SHORT viewID, BSTR modelID)
说明
获取模型位置;
参数
参数 是否必须 说明
viewID 视口ID默认为0
modelID modelID:模型唯一标识
返回值
paramJson为json格式数据:
{
  "positionX": 3042.774,
  "positionY": -549.5999,
  "positionZ": -904.6703
}
备注
modelID 示例"PATH|0|3|2|3",此modelID只支持单个唯一标识处理;
设置模型位置
方法
void SetModelWorldPosition(SHORT viewID, BSTR modelID, BSTR pos)
说明
设置模型位置;
参数
参数 是否必须 说明
viewID 视口ID默认为0
modelID modelID:模型唯一标识
pos pos:世界坐标系中的模型中心点位置。
ocx中为位置xyz坐标值字符串"x,y,z"
返回值
void
备注
modelID 示例"PATH|0|3|2|3",此modelID只支持单个唯一标识处理;
显示或隐藏模型
方法
void SetModelVisible(SHORT viewID, BSTR modelID, VARIANT_BOOL visible)
说明
显示或隐藏模型;
参数
参数 是否必须 说明
viewID 视口ID默认为0
modelID modelID:模型唯一标识
visible visible:是否可见。
返回值
void
备注
modelID 示例"PATH|0|3|2|3",此modelID只支持单个唯一标识处理;
复位模型
方法
void RestoreModel(SHORT viewID, BSTR modelPath)
说明
复位模型;
参数
参数 是否必须 说明
viewID 视口ID默认为0
modelPath modelPath:模型唯一标识
返回值
void
备注
modelPath 示例"PATH|0|3|2|3",此modelPath只支持单个唯一标识处理;
设置模型居中显示
方法
void FocusModel(BSTR svlPath)
说明
设置模型居中显示;
参数
参数 是否必须 说明
svlPath svlPath:模型唯一标识
返回值
void
备注
svlPath 示例"PATH|0|3|2|3",此svlPath只支持单个唯一标识处理;
获取模型所有自定义属性
方法
BSTR GetModelProperties(SHORT viewID, BSTR modelID)
说明
获取模型所有自定义属性;
参数
参数 是否必须 说明
viewID 视口ID默认为0
modelID modelID:模型唯一标识
返回值
string ret,json格式的属性列表
备注
modelID 示例"PATH|0|3|2|3",此modelID只支持单个唯一标识处理;
设置模型所有自定义属性
方法
void SetModelProperties(SHORT viewID, BSTR modelPath,BSTR propertiesStr)
说明
设置模型所有自定义属性;
参数
参数 是否必须 说明
viewID 视口ID默认为0
modelPath modelPath:模型唯一标识
propertiesStr modelID:模型唯一标识
返回值
void
备注
modelPath 示例"PATH|0|3|2|3",此modelPath只支持单个唯一标识处理。
propertiesStr为json格式数据:
{
	"visible": "true",
	"description": "gdfgdfg",
	"viewName": "",
	"animationName": "",
	"voiceFileName": "",
	"cameraProjectionType": "0",
	"position": [-126.909454, -113.450348, 280.300476]
}
获取模型单个自定义属性
方法
BSTR GetModelProperty(SHORT viewID, BSTR modelID, BSTR name)
说明
获取模型单个自定义属性;
参数
参数 是否必须 说明
viewID 视口ID默认为0
modelID modelID:模型唯一标识
name string name,属性名
返回值
string ret:属性值
备注
modelID 示例"PATH|0|3|2|3",此modelID只支持单个唯一标识处理;
设置模型单个自定义属性
方法
void SetModelProperty(SHORT viewID, BSTR svlPath, BSTR name, BSTR value)
说明
设置模型单个自定义属性;
参数
参数 是否必须 说明
viewID 视口ID默认为0
svlPath svlPath:模型唯一标识
name 属性名
value 属性值
返回值
void
备注
svlPath 示例"PATH|0|3|2|3",此svlPath只支持单个唯一标识处理。
删除模型单个自定义属性
方法
VARIANT_BOOL RemoveModelProperty(SHORT viewID, BSTR modelPath, BSTR propertyName)
说明
删除模型单个自定义属性;
参数
参数 是否必须 说明
viewID 视口ID默认为0
modelPath modelPath:模型配置路径
propertyName 属性名称
返回值
void
备注
modelPath 示例"PATH|0|3|2|3",此modelPath只支持单个唯一标识处理。
方法
BSTR GetModelViews(SHORT viewID)
说明
获取视图列表
参数
参数 是否必须 说明
viewID 视口ID默认为0
返回值
类型:BSTR
描述:视图集合,OCX中为视图id拼接字符串。
备注
方法
BSTR ToModelViewJson(SHORT viewID, BSTR modelViewID)
说明
根据视图ID序列化生成视图Json数据
参数
参数 是否必须 说明
viewID 视口ID默认为0
modelViewID 视图ID,为All则获取全部视图,多个modelViewID用逗号隔开,例如:1001,1002,1003,1004
返回值
类型:BSTR
描述:视图json数据。
备注
方法
BSTR FromModelViewJson(SHORT viewID, BSTR jsonStr)
说明
根据视图Json数据生成视图
参数
参数 是否必须 说明
viewID 视口ID默认为0
jsonStr 视图Json数据
返回值
类型:BSTR
描述:视图ID,多个ID用逗号隔开,例如:1001,1002,1003,1004。
备注
方法
SHORT CreateModelView(SHORT viewID, SHORT type)
说明
根据当前场景创建视图。
参数
参数 是否必须 说明
viewID 视口ID默认为0
type type:1=相机,2=零件位置,4=批注,8=热点。。。
返回值
类型:SHORT
描述:视图ID
备注
方法
VARIANT_BOOL RemoveModelView(SHORT viewID, SHORT measureShapeID)
说明
删除视图
参数
参数 是否必须 说明
viewID 视口ID默认为0
measureShapeID 要删除的视图ID
返回值
类型:VARIANT_BOOL
描述:视图删除成功/失败 True/False
备注
方法
SHORT GetCurrentModelView(SHORT viewID)
说明
获取当前视图
参数
参数 是否必须 说明
viewID 视口ID默认为0
返回值
类型:SHORT
描述:当前视图ID
备注
方法
void ShowModelView(SHORT viewID, SHORT modelViewID, VARIANT_BOOL bAnimationPlay)
说明
显示视图
参数
参数 是否必须 说明
viewID 视口ID默认为0
返回值
void
备注
方法
SHORT GetDefaultModelView(SHORT viewID)
说明
获取默认视图
参数
参数 是否必须 说明
viewID 视口ID默认为0
返回值
视图对象,默认视图ID
备注
方法
void SetDefaultModelView(SHORT viewID, SHORT modelViewID)
说明
设置默认视图
参数
参数 是否必须 说明
viewID 视口ID默认为0
modelViewID 默认视图ID
返回值
void
备注
方法
BSTR GetModelViewPMIs(SHORT viewID, SHORT modelViewID)
说明
获取视图关联的PMI
参数
参数 是否必须 说明
viewID 视口ID默认为0
modelViewID 视图ID
返回值
PMI集合,ocx中为pmiID数组字符串
备注
方法
BSTR GetModelViewNotes(SHORT viewID, SHORT modelViewID)
说明
获取视图关联的批注
参数
参数 是否必须 说明
viewID 视口ID默认为0
modelViewID 默认视图ID
返回值
批注集合,ocx中为ID数组字符串
备注
方法
BSTR GetModelViewModels(SHORT viewID, SHORT modelViewID)
说明
获取视图关联的模型
参数
参数 是否必须 说明
viewID 视口ID默认为0
modelViewID 默认视图ID
返回值
模型集合,ocx中为ID数组字符串
备注
方法
BSTR GetModelViewClips(SHORT viewID, SHORT modelViewID)
说明
设置默认视图
参数
参数 是否必须 说明
viewID 视口ID默认为0
modelViewID 默认视图ID
返回值
剖切集合,ocx中为ID数组字符串
备注
方法
BSTR GetModelViewClips(SHORT viewID, SHORT modelViewID)
说明
获取指定model下的PMI数组,如果model为Null,则获取PMI文件中所有PMI。
参数
参数 是否必须 说明
viewID 视口ID默认为0
modelViewID 默认视图ID
返回值
指定模型PMI数据
备注
反序列化批注
方法
BSTR FromNoteJson(BSTR jsonStr)
说明
根据批注Json数据反序列化生成文本批注
参数
参数 是否必须 说明
jsonStr 文本批注Json数据
返回值
文本批注ID,多个ID用逗号隔开,例如:55410,55411,55412
备注
序列化批注
方法
BSTR ToNoteJson(BSTR noteIDs)
说明
根据批注ID,文本批注序列化成Json数据
参数
参数 是否必须 说明
noteIDs 文本批注ID,All为获取全部文本批注,多个ID用逗号隔开,例如:55410,55411,55412
返回值
为json格式数据
备注
获取所有批注
方法
BSTR GetModelAllNotes(SHORT viewID, BSTR modelPath)
说明
获取指定model下的Note数组,如果model为Null,则获取note文件中所有note。
参数
参数 是否必须 说明
viewID 视口ID默认为0
modelPath 模型唯一标识
返回值
获取指定model下的Note数组
备注
modelPath 示例"PATH|0|3|2|3";
删除批注
方法
void RemoveNote(SHORT viewID, BSTR noteIDs)
说明
删除指定模型的批注
参数
参数 是否必须 说明
viewID 视口ID默认为0
modelPath 模型唯一标识
返回值
void
备注
modelPath 示例"PATH|0|3|2|3";
创建热点
方法
BSTR CreateHotSpot(SHORT viewID, BSTR locationX, BSTR locationY, BSTR name)
说明
创建热点
参数
参数 是否必须 说明
viewID 视口ID默认为0
locationX 屏幕坐标点X值
locationY 屏幕坐标点Y值
name 热点名称
返回值
创建的热点ID
备注
设置热点图片
方法
void SetHotSpotImage(SHORT viewID, BSTR hotSpotId, BSTR imagePath)
说明
设置热点图片
参数
参数 是否必须 说明
viewID 视口ID默认为0
hotSpotId 热点id
imagePath 图片文件路径
返回值
void
备注
图片文件路径例:C:\\123.png;
反序列化热点
方法
void ToHotSpotJson(SHORT viewID, BSTR hotSpotId)
说明
反序列化热点
参数
参数 是否必须 说明
viewID 视口ID默认为0
hotSpotId 热点id
返回值
void
备注
热点删除
方法
VARIANT_BOOL RemoveHotSpot(SHORT viewID, BSTR hotSpotId)
说明
删除指定的热点
参数
参数 是否必须 说明
viewID 视口ID默认为0
hotSpotId 热点id
返回值
热点删除成功/失败 True/False
备注
删除距离
方法
VARIANT_BOOL RemoveMeasure(SHORT viewID, BSTR measureShapeID)
说明
删除指定的距离对象
参数
参数 是否必须 说明
viewID 视口ID默认为0
measureShapeID 测量对象的集合。
返回值
测量对象删除成功/失败 True/False
备注
反序列化测量对象
方法
BSTR ToMeasureJson(BSTR measureIDs)
说明
反序列化测量对象
参数
参数 是否必须 说明
viewID 视口ID默认为0
measureIDs 测量对象的集合
返回值
json格式测量数据;
备注
序列化测量对象
方法
void FromMeasureJson(BSTR jsonStr)
说明
序列化测量对象
参数
参数 是否必须 说明
jsonStr json格式测量数据;
返回值
void
备注
剖切
方法
void Clip(SHORT viewID, BSTR paramJson)
说明
基于坐标平面创建剖面,可调节剖切深度,展示剖切面内容
参数
参数 是否必须 说明
viewID 视口ID默认为0
paramJson viewID传默认值0,paramJson为json格式数据如备注所示。
direction 剖切方向:1:X;2:Y;3:Z; -1:-X;-2:-Y;-3:-Z;
position 剖切深度(0~100)
showClipPlane 是否显示示意面 显示为True,不显示为False
showCutPlane 是否显示盖面 显示为True,不显示为False
reverseClip 是否反向剖切 显示为True,不显示为False
返回值
void
备注
paramJson为json格式数据:
{
	"direction": "1",
	"position": 50,
	"showClipPlane": false,
	"showCutPlane": true,
	"reverseClip": "false"
}
多剖切
方法
void MultiClip(SHORT viewID, BSTR paramJson)
说明
基于坐标平面创建剖面,可调节剖切深度,展示剖切面内容,多面剖切。
参数
参数 是否必须 说明
viewID 视口ID默认为0
paramJson viewID传默认值0,paramJson为json格式数据如备注所示。
directionX 为沿X轴剖切(1为沿X轴正方向,-1为X轴负方向,0为X轴不剖切)
positionX 沿X轴剖切深度(0~100)
directionY 沿Y轴剖切(1为沿Y轴正方向,-1为Y轴负方向,0为Y轴不剖切)
positionY 沿Y轴剖切深度(0~100)
directionZ 沿Z轴剖切(1为沿Z轴正方向,-1为Z轴负方向,0为Z轴不剖切)
positionZ 沿Y轴剖切深度(0~100)
showClipPlane 是否显示示意面 显示为True,不显示为False
showCutPlane 是否显示盖面 显示为True,不显示为False
reverseClip 是否反向剖切 显示为True,不显示为False
返回值
void
备注
paramJson为json格式数据:
{
      "directionX": 1,
      "positionX": 50,
      "directionY": 1,
      "positionY": 0,
      "directionZ": 1,
      "positionZ": 10,
      "showClipPlane": false,
      "showCutPlane": true,
      "reverseClip": false
}
关闭剖切
方法
void CancelClip(SHORT viewID)
说明
关闭模型的剖切展示
参数
参数 是否必须 说明
viewID 视口ID默认为0
返回值
void
备注
执行爆炸
方法
void Explosive(SHORT viewID, BSTR explosiveParamJson)
说明
展示模型爆炸效果
参数
参数 是否必须 说明
viewID 视口ID默认为0
explosiveParamJson paramJson为json格式数据如备注所示。
type 0为沿离中心点,1为左右爆炸,2为上下爆炸 position 爆炸位置为0~100
返回值
void
备注
paramJson为json格式数据:
{
   "ExplosiveParameter": 
   {
	"type": "1",
	"position": "50"
   }
}
关闭爆炸
方法
void CancelExplosive(SHORT viewID)
说明
关闭模型的爆炸展示
参数
参数 是否必须 说明
viewID 视口ID,默认为0
返回值
void
备注
模型恢复初始位置
方法
void Restore(SHORT viewID, BSTR shapeIDs, SHORT type)
说明
复位对象,根据参数决定复位哪个属性。
参数
参数 是否必须 说明
viewID 视口ID,默认为0
shapeIDs Shape数组,需要复位的对象数组。为空则复位所有对象。
type 复位的属性类型。0=All,1=transform,2=color,3=visible
返回值
void
备注
播放某一步骤
方法
void PlayAnimation(SHORT viewID)
说明
播放某一步骤
参数
参数 是否必须 说明
viewID 视口ID,默认为0
返回值
void
备注
暂停动画
方法
void PauseAnimation(SHORT viewID)
说明
暂停动画
参数
参数 是否必须 说明
viewID 视口ID,默认为0
返回值
void
备注
继续播放
方法
void ContinueAnimation(SHORT viewID)
说明
继续播放动画
参数
参数 是否必须 说明
viewID 视口ID,默认为0
返回值
void
备注
是否重复播放
方法
void SetAnimationParameter(SHORT viewID, BSTR type, BSTR isLoop)
说明
是否重复播放动画
参数
参数 是否必须 说明
viewID 视口ID,默认为0
type 参数"Repeat",是否重复播放
isLoop 参数"True"/"False"是否重复播放
返回值
void
备注
设置播放速度
方法
void SetAnimationParameter(SHORT viewID, BSTR type, BSTR isLoop)
说明
设置播放速度
参数
参数 是否必须 说明
viewID 视口ID,默认为0
type 参数"Speed",播放速度
isLoop 参数取值范围:1-10倍速
返回值
void
备注
打开动画文件
方法
VARIANT_BOOL OpenAnimation(SHORT viewID, BSTR animationFilePath)
说明
打开动画文件
参数
参数 是否必须 说明
viewID 视口ID,默认为0
animationFilePath 动画文件路径
返回值
VARIANT_BOOL 打开动画文件成功/失败 True/False
备注
关闭动画
方法
void CloseAnimation(SHORT viewID)
说明
关闭动画
参数
参数 是否必须 说明
viewID 视口ID,默认为0
返回值
void
备注
倒带
方法
void RewindAnimation(SHORT viewID)
说明
动画倒带
参数
参数 是否必须 说明
viewID 视口ID,默认为0
返回值
void
备注
是否正在播放
方法
VARIANT_BOOL IsPlayingAnimation(SHORT viewID)
说明
动画是否正在播放
参数
参数 是否必须 说明
viewID 视口ID,默认为0
返回值
VARIANT_BOOL 动画是否正在播放 True/False
备注
是否有动画
方法
VARIANT_BOOL ExistAnimation(SHORT viewID)
说明
是否有动画
参数
参数 是否必须 说明
viewID 视口ID,默认为0
返回值
VARIANT_BOOL 是否有动画 True/False
备注
设置漫游参数
方法
VARIANT_BOOL SetWalkThroughParameters(SHORT viewID,BSTR json)
说明
设置漫游参数
参数
参数 是否必须 说明
viewID 视口ID,默认为0
json json格式数据,如备注所示。
返回值
True/False 设置成功/不成功
备注
{
	"Type":"1",//0=正常漫游查看,1=环绕查看Surround,2=定点查看FixedPoint
	"SurroundSpeed":"1",//环绕速度
	"FixedPointRotateSpeed":"1",//定点环绕速度
	"UpDirection":"0",//设置上方向,0=+X;1=-X;2=+Y;3=-Y;4=+Z;5=-Z;
	"CameraFov":"90",//设置相机FOV
	"WalkSpeed":"50",//漫游速度,单位:距离单位/秒
}
获取漫游参数
方法
BSTR GetWalkThroughParameters(SHORT viewID)
说明
获取漫游参数
参数
参数 是否必须 说明
viewID 视口ID,默认为0
返回值
类型:BSTR
描述:返回json字符串
{
	"Type":"1",//0=正常漫游查看,1=环绕查看Surround,2=定点查看FixedPoint
	"SurroundSpeed":"1",//环绕速度
	"FixedPointRotateSpeed":"1",//定点环绕速度
	"UpDirection":"0",//设置上方向,0=+X;1=-X;2=+Y;3=-Y;4=+Z;5=-Z;
	"CameraFov":"90",//设置相机FOV
	"WalkSpeed":"50",//漫游速度,单位:距离单位/秒
}
备注
关闭漫游
方法
void CancelWalkThrough(SHORT viewID)
说明
关闭漫游
参数
参数 是否必须 说明
viewID 视口ID,默认为0
返回值
void
备注
获取显隐状态
方法
SVARIANT_BOOL GetVisible(SHORT viewID, BSTR shapeID, SHORT shapeType)
说明
对象包括各种可显示对象,如模型、PMI、标注、批注、测量结果、热点、几何等
参数
参数 是否必须 说明
viewID 视口ID,默认为0
shapeID 对象ID
shapeType 可显示对象类型。 1=批注、2=测量、3=PMI、4=热点、5=几何
返回值
VARIANT_BOOL 可显示对象是否显隐 True/False
备注
设置显隐状态
方法
void SetVisible(SHORT viewID, BSTR shapeID, SHORT shapeType, VARIANT_BOOL visible)
说明
是否有动画
参数
参数 是否必须 说明
viewID 视口ID,默认为0
shapeID 对象ID
shapeType 可显示对象类型。1=批注、2=测量、3=PMI、4=热点、5=几何
visible 设置对象是否显隐。显示/隐藏 True/False
返回值
void
备注
获取对象颜色
方法
BSTR GetColor(SHORT viewID, BSTR shapeID, SHORT shapeType)
说明
获取对象颜色
参数
参数 是否必须 说明
viewID 视口ID,默认为0
shapeID 对象ID
shapeType 对象类型,1=批注、2=测量、3=PMI、4=热点、5=几何
返回值
BSTR 获取到的对象颜色
备注
批注、PMI、测量、热点、底层都不存在设置和获取颜色的实现
设置对象颜色
方法
void SetColor(SHORT viewID, BSTR shapeIDs, SHORT shapeType, BSTR color)
说明
设置对象颜色
参数
参数 是否必须 说明
viewID 视口ID,默认为0
shapeIDs 对象ID集合字符串,用','分割
shapeType 对象类型。1=批注、2=测量、3=PMI、4=热点、5=几何
color 设置对象的颜色字符串,颜色格式0xRRGGBB
返回值
void
备注
批注、PMI、测量、热点、底层都不存在设置和获取颜色的实现
获取模型透明度
方法
FLOAT GetAlpha(SHORT viewID, BSTR shapeIDs)
说明
获取模型透明度
参数
参数 是否必须 说明
viewID 视口ID,默认为0
shapeIDs 模型ID
返回值
Alpha,不透明度:0.0~1.0。
备注
设置模型透明度
方法
void SetAlpha(SHORT viewID, BSTR shapeID, FLOAT alpha)
说明
设置模型透明度
参数
参数 是否必须 说明
viewID 视口ID,默认为0
shapeIDs 模型ID,如为"all"则为整个模型。
alpha alpha,不透明度:0.0~1.0
返回值
void
备注
设置模型颜色
方法
void SetModelColor(SHORT viewID,BSTR shapeID, BSTR colorStr)
说明
设置模型颜色
参数
参数 是否必须 说明
viewID 视口ID,默认为0
shapeID 模型ID
colorStr 设置模型颜色字符串,颜色格式0xRRGGBB
返回值
void
备注
选中模型恢复初始颜色
方法
void RestoreColor(SHORT viewID,BSTR svlPath, SHORT type)
说明
选中模型恢复初始颜色
参数
参数 是否必须 说明
viewID 视口ID,默认为0
svlPath 选中模型唯一标识
type 模型类型,暂时不做设置,默认为1。
返回值
void
备注
svlPath模型路径例如:'PATH|0'。
获取相机状态值
方法
BSTR GetCameraStates(SHORT viewID, SHORT cameraID)
说明
获取相机状态值
参数
参数 是否必须 说明
viewID 视口ID,默认为0
cameraID 相机ID,默认是0
返回值
类型:BSTR,Json类型的字符串。
格式:
{
  "position":"0 0 0",
  "rotate":"1 1 1",
  "zoom":"1 1 1 1"
}
备注
position、rotate、zoom分别代表平移、旋转、缩放的状态值。
设置摄像机状态值
方法
void SetCameraStates(SHORT viewID, SHORT camaraID, BSTR states)
说明
设置摄像机状态值
参数
参数 是否必须 说明
viewID 视口ID,默认为0
camaraID 相机ID,默认是0
states 设置相机状态的json字符串,格式如备注所述,position、rotate、zoom分别代表平移、旋转、缩放的状态值。
返回值
void
备注
格式:
{
  "position":"0 0 0",
  "rotate":"1 1 1",
  "zoom":"1 1 1 1"
}
设置背景颜色
方法
void SetBackgroundColor(SHORT viewID, BSTR topColor, BSTR bottomColor)
说明
设置背景颜色
参数
参数 是否必须 说明
viewID 视口ID,默认为0
topColor topColor:顶部颜色
bottomColor bottomColor:底部颜色
返回值
void
备注
鼠标右键点击事件
事件
OnRightMouseDownEvent(locationX,locationY)
说明
点击鼠标右键会触发此事件,把鼠标的位置坐标分为X值和Y值作为返回值传递
参数
参数 是否必须 说明
locationX 鼠标位置X值
locationY 鼠标位置Y值
返回值
void
备注
模型复原事件
事件
OnRestoreViewEvent(restoreViewInfo)
说明
点击复原按钮对模型进行复原处理时,会触发此事件
参数
参数 是否必须 说明
restoreViewInfo 暂无内容传值
返回值
void
备注
模型选中事件
事件
OnModelSelectedChanged(svlPath,isSelected)
说明
进行选中模型操作时会触发此事件,把选中模型的svlPath和选中状态进行回传。点击装配树中模型进行选中操作也会触发此事件,把选中模型的svlPath和选中状态进行回传。
参数
参数 是否必须 说明
svlPath 选中模型的svlPath
isSelected 模型选中状态
返回值
void
备注
模型预选事件
事件
OnModelPreSelectChanged(svlPath,isSelected)
说明
进行预选模型操作时会触发此事件,把预选模型的svlPath和预选状态进行回传
参数
参数 是否必须 说明
svlPath 预选模型的svlPath
isSelected 预选模型状态
返回值
void
备注
控件加载完成事件
事件
OnLoaded(loadInfo)
说明
OCX控件加载完成后会触发此事件
参数
参数 是否必须 说明
loadInfo 暂无内容传值
返回值
void
备注
模型加载完成事件
事件
OnFileLoadEndEvent(fileLoadInfo)
说明
模型加载完成之后会触发此事件
参数
参数 是否必须 说明
fileLoadInfo 暂无内容传值
返回值
void
备注
鼠标左键点击事件
事件
OnLeftMouseDownEvent(locationX,locationY)
说明
点击鼠标左键会触发此事件,把鼠标的位置坐标分为X值和Y值作为返回值传递
参数
参数 是否必须 说明
locationX 鼠标位置X值
locationY 鼠标位置Y值
返回值
void
备注
鼠标悬停事件开关
方法
void SetMoseHover(VARIANT_BOOL isHover);
说明
鼠标悬停事件开关
参数
参数 是否必须 说明
isHover True/False:选中/取消选中。
返回值
void
备注
鼠标悬停事件
方法
void OnMouseHoverEvent(LPCTSTR locationX,LPCTSTR locationY);
说明
鼠标悬停事件
参数
参数 是否必须 说明
locationX 参数locationX是鼠标悬停时,屏幕坐标x的值。
locationY 参数locationY是鼠标悬停时,屏幕坐标y的值。
返回值
void
备注